As the value and use of information continues to increase, individuals and businesses seek additional ways to process and store information. One option available to users is information handling systems. An information handling system generally processes, compiles, stores, and/or communicates information or data for business, personal, or other purposes thereby allowing users to take advantage of the value of the information. Because technology and information handling needs and requirements vary between different users or applications, information handling systems may also vary regarding what information is handled, how the information is handled, how much information is processed, stored, or communicated, and how quickly and efficiently the information may be processed, stored, or communicated. The variations in information handling systems allow for information handling systems to be general or configured for a specific user or specific use such as financial transaction processing, airline reservations, enterprise data storage, or global communications. In addition, information handling systems may include a variety of hardware and software components that may be configured to process, store, and communicate information and may include one or more computer systems, data storage systems, and networking systems.
Information handling systems can include multiple electronic devices that communicate information. Such systems can include physical features that connect to any electronic device having a particular configuration. For example, in a server computer system, circuit boards bearing electronic components (sometimes called expansion cards) that communicate using the PCI local bus can be mounted to expansion connectors in a slot provided for that purpose. Other devices that communicate with the PCI local bus can be directly mounted on the motherboard. These directly mounted devices can be referred to as on board. One server computer system can include multiple slots and a particular slot can accommodate different expansion cards at different times, though usually only one card at a time. While some on board devices can be disabled, they are not easily swappable in the manner of expansion cards. For example, an expansion card that connects a server computer system to a network through a PCI local bus (sometimes called a network card) can be replaced with an expansion card that generates analog signals representing sound, based on commands received from the server computer system through the PCI local bus and that provides those analog signals to a speaker (sometimes called a sound card).
A communication medium, such as a PCI local bus, between electronic devices can potentially transmit communications between a large number of such devices. A number of physical interfaces to the communication medium are provided and electronic devices can be coupled to all or some subset of those interfaces. For example, the PCI local bus may communicate with both on board devices and expansion cards. The communications can be managed on a number of levels. In one implementation, a low level of communications, such as electrical circuit hardware, can address only the sending and receiving of individual bits, while a high level of communications, such as an application software program, can respond to a large group of such bits collected into a file in a particular format.
A physical interface to a communication medium can experience degradation that results in inaccurate communications to and from the electronic device coupled to that interface. The coupled devices themselves can experience hardware and software problems. Processes relying on communications to those devices can be adversely affected when problems in the physical interface or the devices themselves arise. Detection of such communication inaccuracies allows signals to be generated that direct the processes to terminate reliance on the inaccurate communications. It is important that the information handling system's performance is impeded minimally by such detection and reaction. For example, some conventional approaches to detecting and reacting to communications errors experienced by a communications medium can disrupt a software process until the software process is restarted. Restarting such a software process can result in repeat performance of the same tasks, both by the restarted software process and by software processes that depend on it.
For example, if an information handling device was supporting operating system software that controlled access by application programs to information storage and peripheral devices, the disruption of the operating system to an extent that a restart (sometimes called a reboot) had to occur before functionality of that operating system could resume, would impact performance in several ways. Information would not be processed while the operating system restarted and attained the state necessary to allow access by application programs to information storage and peripheral devices. Performance would also be lost to the extent that application programs were unable to reestablish the state at which the operating system was disrupted. In simple terms, hours of previous work could be lost and work could not be performed while the reboot took place.